package com.zbkj.service.model.vo;


import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zbkj.dal.base.enums.FundDirectionEnums;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@ApiModel
public class QuotaListVO {

    /**
     * 额度流水号
     */
    @ApiModelProperty("调整单号")
    private String quotaNo;

    @ApiModelProperty("来源单号")
    private String bizOrderNo;

    /**
     * 用户id
     */
    @ApiModelProperty("userId")
    private Integer userId;

    @ApiModelProperty("用户姓名")
    private String userName;

    /**
     * 变动额度
     */
    @ApiModelProperty("变动金额")
    private BigDecimal quotaChangeAmount;

    /**
     * 变动类型
     *
     * @see com.zbkj.dal.base.enums.QuotaChangeType
     */
    @ApiModelProperty("额度来源")
    private String changeType;
    @ApiModelProperty("额度来源描述")
    private String changeTypeDesc;
    /**
     * 变动方向
     *
     * @see FundDirectionEnums
     */
    @ApiModelProperty("调额类型")
    private Integer changeDirection;
    @ApiModelProperty("调额类型描述")
    private String changeDirectionDesc;

    /**
     * 变动后额度总额
     */
    @ApiModelProperty("调额后等级计算额度")
    private BigDecimal newQuota;

    @ApiModelProperty("额度状态")
    private String quotaStatus;

    @ApiModelProperty("状态")
    private String status;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    /**
     * 创建时间
     */
    @ApiModelProperty("生效时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private LocalDateTime effectTime;

    @ApiModelProperty("失效时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private LocalDateTime efficacyTime;

}
